package com.hafu.dao;

import com.hafu.model.GysInfo;
import com.hafu.util.DbUtil;
import com.hafu.util.StringUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

public class GysInfoDao {

    public boolean addGysInfo(GysInfo gysInfo){
        String sql = "insert into gysinfo(name,tel) values(?,?)";
        Connection connection = DbUtil.getConnection();
        try {
            PreparedStatement preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1,gysInfo.getName());
            preparedStatement.setString(2,gysInfo.getTel());
            int i = preparedStatement.executeUpdate();
            if (i > 0){
                System.out.println("添加成功");
                return true;
            }else {
                return false;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return false;
    }
    //删除供应商信息
    public boolean deleteGysInfo(int id){
        String sql = "delete from gysinfo where id=?";
        Connection connection = DbUtil.getConnection();
        try {
            PreparedStatement preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setInt(1,id);
            int i = preparedStatement.executeUpdate();
            if (i > 0){
                System.out.println("删除成功");
                return true;
            }else {
                return false;
            }
        }catch (SQLException e){
            e.printStackTrace();
        }
        return false;
    }
    //修改供应商信息
    public boolean updateGysInfo(GysInfo gysInfo){
        String sql = "update gysinfo set name=?,tel=? where id=?";
        Connection connection = DbUtil.getConnection();
        try {
            PreparedStatement preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1,gysInfo.getName());
            preparedStatement.setString(2,gysInfo.getTel());
            preparedStatement.setInt(3,gysInfo.getId());
            int i = preparedStatement.executeUpdate();
            if (i> 0){
                System.out.println("修改成功");
                return true;
            }else {
                return false;
            }
        }catch (SQLException e) {
            e.printStackTrace();
        }
        return false;
    }
    //查询供应商信息根据名字
    public ArrayList<GysInfo> getGysInfoByName(GysInfo gys){
        ArrayList<GysInfo> list = new ArrayList<>();
        String sql = "select * from gysinfo";
        if (!StringUtil.isEmpty(gys.getName())){
            sql = sql + " where name like '%"+gys.getName()+"%'";
        }
        Connection connection = DbUtil.getConnection();
       try {
           PreparedStatement preparedStatement = connection.prepareStatement(sql);
           ResultSet resultSet = preparedStatement.executeQuery();
           while (resultSet.next()){
               int id = resultSet.getInt("id");
               String name = resultSet.getString("name");
               String tel = resultSet.getString("tel");
               GysInfo gysInfo1 = new GysInfo(id, name, tel);
               list.add(gysInfo1);
           }
       }catch (SQLException e){
           e.printStackTrace();
       }
        return list;
    }
}
